package com.example.network.mapper;

import com.example.network.controller.dto.ShareDTO;
import com.example.network.controller.request.FileRequest;
import com.example.network.model.entity.FileRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author LR
 */
@Mapper
public interface FileMapper {

    /**
     * 将文件地址保存到数据库
     */
    Boolean insert(FileRecord fileRecord);

    // 搜索部分文件地址
    List<FileRequest> findByFilenamePrefix(@Param("prefix") String prefix, String userID);

    // 删除远程文件
    void deleteByFileName(String filename, String userID);

    // 查看所有的文件
    List<FileRequest> selectByAll(String userID);

    void updateShareID(ShareDTO shareDTO);

    ShareDTO findByFilePath(String filename,String userID);

    ShareDTO findShareID(String shareID);

    FileRequest getFile(String filename, String userID);

    ShareDTO getFileByShareID(String filePath);

    FileRecord selectByFileName(String filename, String userID);
}


